Customisable Personal Agent

 

 

Deadline: 14/8/2006

 

Total marks: 100

 

This exercise should be carried out individually. The aim of this exercise is to build a customisable personal agent that produces a web page including class related information of interest retrieved from the CIS Undergraduate Teaching web site. The agent is constructed in a number of incremental stages, each of which introduces more information and additional customisation opportunities. There are overall six stages, which need to be carried out in order. Note that only stage six provides you with alternative paths to follow, i.e. you can carry 6a and 6b in either order. It is essential that your code for all stages has as little hard coded information as possible (e.g. class information should not be mentioned explicitly in your code), and that it only relies on the structure of the target web pages not on their particular content (e.g. matching expressions should not be delimited with reference to specific text appearing on the page).

 

You need to submit your agent using the departmental electronic coursework submission system. The submission should be a single zip file containing the following:

·         A brief report (3 pages max) in pdf clearly identifying the functionality provided by your agent and discussing how your code achieves the provided functionality.
The report should be accompanied by a cover page with your name, student number, and a signed statement confirming that "Except where explicitly stated all the work in this submission is my own".

·         All the source code (.java files) of your submission neatly organised into appropriately named directories for each of the carried out parts.
It is important that you do not submit any class files (.class).

·         A readme text file with instructions on how to compile and run the code for the various parts.

 

After the submission you will need to demonstrate your agent working in the lab. The time and place for the demonstration will be arranged after the submission of the exercise.

 

 

Stage 1 – 20 marks

According to the CIS Undergraduate Teaching web site, classes are distributed over a number of years (first to fifth). In this stage the agent produces a web page listing the classes belonging to the year(s) of interest to the user. The information included in the web page is extracted from the main CIS Undergraduate Teaching web page (http://www.cis.strath.ac.uk/teaching/ug/syllabus/). The user specifies its interests by either providing the year he/she wants (see above) or “All” in the case where all the years are of interest. The produced web page clearly indicates the names of the classes and the year they belong to.

 

Stage 2 – 10 marks

In the CIS Undergraduate Teaching web site, all classes have an accompanying Syllabus page. In this stage the agent of stage 1 is extended to produce a web page listing for the classes of interest to the user, the code and the name of the class, the name(s) of the lecturer(s), the number of credits, the formal contact arrangements, the examination arrangements, the level it belongs to, the prerequisites and the availability of the class. This information is extracted from the Class Syllabus web page. The URL of the Class Syllabus web page is retrieved from the main CIS Undergraduate Teaching web page. The user specifies the classes of interest in two steps. First, he/she selects the year(s) of interest (see stage 1) to which the agent responds with a list of classes for the selected years. Second, from the list of classes provided in the first step, the user identifies the ones of interest. In other words, the first step is the same as stage 1 with the difference that instead of producing a web page the output is provided on screen to allow the user to carry out the second step.

 

Stage 3 – 10 marks

The Class Syllabus web pages contain also additional information, under sections titled Aim, Learning Outcomes and Syllabus. In this stage the agent of stage 2 is extended to include additional information in the produced web page. The additional information includes the content of the sections of interest to the user. This information is again extracted from the Class Syllabus web pages. In this stage in addition to the two steps of stage 2 we introduce a third step for the user to specify which sections he/she is interested in. In this step, for each of the classes selected in the previous step (see stage 2) the agent presents to the user a list of identified section headings, and the user selects the ones of interest.

 

Stage 4 – 20 marks

In addition to the main CIS Undergraduate Teaching web page, the CIS web site also includes an Undergraduate Teaching Material web page which provides links to web pages that lecturers maintain for the various classes. In this stage the agent of stage 3 is extended to indicate in the produced web page for each class of interest whether or not there is a teaching material web page and whether access to it  is restricted or not. This information should be extracted from the Undergraduate Teaching Material web page (http://www.cis.strath.ac.uk/teaching/ug/classes/index.html).

 

Stage 5 – 20 marks

Most classes have also an associated timetable that indicates the lecture, practical and tutorial times for the class. In this stage the agent of stage 4 is extended to indicate in the produced web page for each class of interest the time and place for its lectures, practicals and tutorial. This information should be extracted from the Class Timetable web page, the location of which should be in turn extracted from the Undergraduate Teaching Material web page. Note that in the letter next to the class code indicates the nature of the allocated slot, (L) for lecture, (P) for practical and (T) for tutorial, while the code following is the code of the room where the allocated slot will take place.

 

Stage 6a – 10 marks

In this stage the agent of stage 4 is enhanced by providing a graphical user interface to support its customisation by the user.

 

Stage 6b – 10 marks

This stage allows you to further enhance your agent by incorporating as much as possible of the Best Practice in agent development (see relevant chapter).